.TH DUMP 5 
.SH NAME
dump, ddate \- incremental dump format
.SH SYNOPSIS
.B #include <sys/types.h>
.br
.B #include <sys/ino.h>
.br
.B # include <dumprestor.h>
.SH DESCRIPTION
Tapes used by
.I dump
and
.IR restor (1)
contain:
.nf
.IP ""
a header record
two groups of bit map records
a group of records describing directories
a group of records describing files
.fi
.PP
The format of the header record and of the first
record of each description as given in the
include file
.I <dumprestor.h>
is:
.PP
.nf
.ta .5i \w'#define\ TS_INODE\ 'u
.so /usr/include/dumprestor.h
.fi
.PP
.I NTREC
is the number of 512 byte records in a physical
tape block.
.I MLEN
is the number of bits in a bit map word.
.I MSIZ 
is the number of bit map words.
.PP
The
.I TS_
entries are used in the
.I c_type
field to indicate what sort of header
this is.
The types and their meanings are as follows:
.TP \w'CHECKSUM\|'u
TS_TAPE
Tape volume label
.PD 0
.TP
TS_INODE
A file or directory follows.
The
.I c_dinode
field is a copy of the disk inode and contains
bits telling what sort of file this is.
.TP
TS_BITS
A bit map follows.
This bit map has a one bit
for each inode that was dumped.
.TP
TS_ADDR
A subrecord of a file description.
See
.I c_addr
below.
.TP
TS_END
End of tape record.
.TP
TS_CLRI
A bit map follows.
This bit map contains a zero bit for
all inodes that were empty on the file system when dumped.
.TP
MAGIC
All header records have this number in
.I c_magic.
.TP
CHECKSUM
Header records checksum to this value.
.PD
.PP
The fields of the header structure are as follows:
.TP \w'TS_INODE\ 'u
c_type
The type of the header.
.PD 0
.TP
c_date
The date the dump was taken.
.TP
c_ddate
The date the file system was dumped from.
.TP
c_volume
The current volume number of the dump.
.TP
c_tapea
The current number of this (512-byte) record.
.TP
c_inumber
The number of the inode being dumped if this
is of type
.I TS_INODE.
.TP
c_magic
This contains the value
.I MAGIC
above, truncated as needed.
.TP
c_checksum
This contains whatever value is needed to
make the record sum to 
.I CHECKSUM.
.TP
c_dinode
This is a copy of the inode as it appears on the
file system; see
.IR filsys (5).
.TP
c_count
The count of characters in
.I c_addr.
.TP
c_addr
An array of characters describing the blocks of the
dumped file.
A character is zero if the block associated with that character was not
present on the file system, otherwise the character is non-zero.
If the block was not present on the file system, no block was dumped;
the block will be restored as a hole in the file.
If there is not sufficient space in this record to describe
all of the blocks in a file,
.I TS_ADDR
records will be scattered through the file, each one
picking up where the last left off.
.PD
.PP
Each volume except the last ends with a tapemark (read as an end
of file).
The last volume ends with a
.I TS_END
record and then the tapemark.
.PP
The structure
.I idates
describes an entry of the file
.I /etc/ddate
where dump history is kept.
The fields of the structure are:
.TP \w'TS_INODE\ 'u
id_name
The dumped filesystem is
.RI `/dev/ id_nam'.
.PD 0
.TP
id_incno
The level number of the dump tape;
see
.IR dump (1).
.TP
id_ddate
The date of the incremental dump in system format
see
.IR types (5).
.PD
.SH FILES
/etc/ddate
.SH "SEE ALSO"
dump(1), dumpdir(1), restor(1), filsys(5), types(5)
